#
# @(#)GNUmakefile	1.16 06/10/10 10:08:37
#
# Copyright  1990-2008 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version
# 2 only, as published by the Free Software Foundation. 
# 
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License version 2 for more details (a copy is
# included at /legal/license.txt). 
# 
# You should have received a copy of the GNU General Public License
# version 2 along with this work; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA 
# 
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
# Clara, CA 95054 or visit www.sun.com if you need additional
# information or have any questions. 
#

LINUX_DIR  = .
SHARE_DIR  = ../share
OUTPUT_DIR = ../bin

CFLAGS = -Wall -D_REENTRANT -pedantic -fno-exceptions

ifeq ($(DEBUG), true)
CFLAGS += -g
else
CFLAGS += -O2
endif

CFLAGS += -I$(LINUX_DIR) -I$(SHARE_DIR) -D_UNIX_

uname = $(shell uname)
ifeq ($(uname), SunOS)
PLATFORM = solaris
endif
ifeq ($(uname), Linux)
PLATFORM = linux
endif

LDFLAGS =

ifdef GCC_PREFIX
CXX     = $(GCC_PREFIX)/gcc
LD      = $(GCC_PREFIX)/gcc
else
CXX     = gcc
LD      = gcc
endif

ifeq ($(PLATFORM), solaris)
EXTRA_LIBS = -lsocket -lnsl -lposix4
endif

EXTRA_LIBS += -lpthread

OBJS = \
	$(OUTPUT_DIR)/linuxMain.o \
	$(OUTPUT_DIR)/jam.o \
	$(OUTPUT_DIR)/jamHttp.o \
	$(OUTPUT_DIR)/jamParse.o \
	$(OUTPUT_DIR)/jamUtil.o

VPATH=$(LINUX_DIR):$(SHARE_DIR)

all: $(OUTPUT_DIR)/jam

.SUFFIXES:
.SUFFIXES: .cpp .o

$(OUTPUT_DIR)/jam: $(OUTPUT_DIR) $(OBJS)
	$(LD) $(LDFLAGS) -o $@ $(OBJS) $(EXTRA_LIBS)

$(OUTPUT_DIR)/%.o: %.cpp
	$(CXX) -c $(CFLAGS) -o $@ $<

$(OUTPUT_DIR):
	-mkdir -p $(OUTPUT_DIR)

clean:
	rm -rf $(OUTPUT_DIR)/*.o $(OUTPUT_DIR/jam
